package com.cskaoyan.javase.oop1._3memory;

/**
 * 三个对象的内存图，其中有两个引用指向同一个对象。
 * @since 16:30
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo2 {
    public static void main(String[] args) {
        // 两个引用指向同一个对象
        Phone p1 = new Phone();
        Phone p2 = p1;
        System.out.println(p1);
        System.out.println(p2);
        System.out.println(p1 == p2);
        p1.brand = "三星";
        System.out.println(p2.brand);

        // new关键字一定在堆上创建一个新的,独立的对象
        Phone p3 = new Phone();
        System.out.println(p3.brand);
        System.out.println(p3);
        System.out.println(p3 == p1);
    }
}

class Phone {
    String brand;
    double price;

    public void call(){
        System.out.println("我喜欢用微信和你打电话!");
    }
}
